<header>
  <%= render "rescues/copy_button" %>
  <h1>
    <%= @exception_wrapper.exception_class_name %>
    <% if params_valid? && @request.parameters['controller'] %>
      in <%= @request.parameters['controller'].camelize %>Controller<% if @request.parameters['action'] %>#<%= @request.parameters['action'] %><% end %>
    <% end %>
  </h1>
</header>

<main role="main" id="container">
  <%= render "rescues/message_and_suggestions", exception: @exception, exception_wrapper: @exception_wrapper %>
  <%= render "rescues/actions", exception: @exception, request: @request, exception_wrapper: @exception_wrapper %>

  <%= render "rescues/source", source_extracts: @source_extracts, show_source_idx: @show_source_idx, error_index: 0 %>
  <%= render "rescues/trace", traces: @traces, trace_to_show: @trace_to_show, error_index: 0 %>

  <% if @exception_wrapper.has_cause? %>
    <h2>Exception Causes</h2>
  <% end %>

  <% @exception_wrapper.wrapped_causes.each.with_index(1) do |wrapper, index| %>
    <div class="details">
      <a class="summary" href="#" onclick="return toggle(<%= wrapper.exception_id %>)">
        <%= wrapper.exception_class_name %>: <%= h wrapper.message %>
      </a>
    </div>

    <div id="<%= wrapper.exception_id %>" class="hidden">
      <%= render "rescues/source", source_extracts: wrapper.source_extracts, show_source_idx: wrapper.source_to_show_id, error_index: index %>
      <%= render "rescues/trace", traces: wrapper.traces, trace_to_show: wrapper.trace_to_show, error_index: index %>
    </div>
  <% end %>

  <%= render template: "rescues/_request_and_response" %>
</main>
